﻿<ResourceDictionary
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:nRoute="clr-namespace:nRoute.Controls"
  xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows">
  
  	<Style TargetType="nRoute:NavigationContentControl">
		<Setter Property="IsTabStop" Value="False"/>
        <Setter Property="Foreground" Value="#FF000000"/>
		<Setter Property="Background" Value="Transparent"/>
        <Setter Property="BorderBrush" Value="Transparent"/>
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        <Setter Property="VerticalContentAlignment" Value="Stretch"/>
        <Setter Property="Padding" Value="0,0,0,0"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="Template">
            <Setter.Value>
				 <ControlTemplate TargetType="nRoute:NavigationContentControl">
					<Border 
						Background="{TemplateBinding Background}" 
						BorderBrush="{TemplateBinding BorderBrush}"  
				        BorderThickness="{TemplateBinding BorderThickness}" 
						OpacityMask="{TemplateBinding OpacityMask}"
						HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
						VerticalAlignment="{TemplateBinding VerticalContentAlignment}">

						<!-- CONTENT -->
						<ContentPresenter 
							Content="{TemplateBinding Content}"
	                        Cursor="{TemplateBinding Cursor}"
	                        Margin="{TemplateBinding Padding}"
							HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
	                        VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
					</Border>
				</ControlTemplate>		
            </Setter.Value>
		</Setter>
	</Style>
    
    <Style TargetType="nRoute:NavigationContainer">
        <Setter Property="IsTabStop" Value="False"/>
        <Setter Property="Foreground" Value="#FF000000"/>
		<Setter Property="Background" Value="Transparent"/>
        <Setter Property="BorderBrush" Value="Transparent"/>
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        <Setter Property="VerticalContentAlignment" Value="Stretch"/>
        <Setter Property="Padding" Value="0,0,0,0"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="Template">
            <Setter.Value>                
                <!-- TEMPLATE-->
                <ControlTemplate TargetType="nRoute:NavigationContainer">
                    <Border Background="{TemplateBinding Background}" 
							BorderBrush="{TemplateBinding BorderBrush}"  
				            BorderThickness="{TemplateBinding BorderThickness}" 
							OpacityMask="{TemplateBinding OpacityMask}"
							HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}">

                        <!-- VSM RELATED -->
                        <vsm:VisualStateManager.VisualStateGroups>
                            <vsm:VisualStateGroup x:Name="NavigationStates">

                                <!-- STATES -->
                                <vsm:VisualState x:Name="UnNavigated">
                                </vsm:VisualState>

                                <vsm:VisualState x:Name="Navigating">
                                    <Storyboard RepeatBehavior="ForEver" BeginTime="00:00:00" AutoReverse="False">
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="IndicatorBorder" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse01" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.2000000" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse12" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.2000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:01" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:01.1000000" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse11" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.9000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:01" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:01.1000000" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse02" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.2000000" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.4000000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse03" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.2000000" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.4000000" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse04" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.2000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.3000000" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.4000000" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.6000000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse05" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.4000000" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.6000000" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.7000000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse06" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.4000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.6000000" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.7000000" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.8000000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse07" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.6000000" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.7000000" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.8000000" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.9000000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse08" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.6000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.7000000" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.8000000" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.9000000" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:01" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse09" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.7000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.8000000" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.9000000" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:01" Value="0.25"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:01.1000000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse10" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.8000000" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.9000000" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:01" Value="0.5"/>
                                            <EasingDoubleKeyFrame KeyTime="00:00:01.1000000" Value="0.25"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>

                                <vsm:VisualState x:Name="Navigated">
                                </vsm:VisualState>

                                <vsm:VisualState x:Name="NavigationFailed">
                                </vsm:VisualState>

                                <!-- TRANSITIONS -->
                                <vsm:VisualStateGroup.Transitions>
                                    <vsm:VisualTransition GeneratedDuration="00:00:00" To="NavigationFailed"/>
                                    <vsm:VisualTransition From="NavigationFailed" GeneratedDuration="00:00:00"/>
                                </vsm:VisualStateGroup.Transitions>

                            </vsm:VisualStateGroup>

                        </vsm:VisualStateManager.VisualStateGroups>

                        <!-- VISUALS -->
                        <Grid >

                            <!-- CONTENT -->
                            <ContentPresenter 
								Content="{TemplateBinding Content}"
                            	Cursor="{TemplateBinding Cursor}"
                            	Margin="{TemplateBinding Padding}"
								HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
    						
    						<!-- NAVIGATING OVERLAY -->
    						<Border x:Name="IndicatorBorder" Background="#99000000" Visibility="Collapsed">
    							<Canvas x:Name="spinner_1" HorizontalAlignment="Center" Width="24" Height="24">
    								<Ellipse x:Name="ellipse01" Fill="White" Height="4" Width="4" Canvas.Top="10" Opacity="0" />
    								<Ellipse x:Name="ellipse02" Fill="White" Height="4" Width="4" Canvas.Top="5" Opacity="0" Canvas.Left="1.33975" />
    								<Ellipse x:Name="ellipse03" Fill="White" Height="4" Width="4" Canvas.Top="1.4"  Opacity="0" Canvas.Left="5"/>
    								<Ellipse x:Name="ellipse04" Fill="White" Height="4" Width="4" Canvas.Top="0"  Opacity="0" Canvas.Left="10"/>
    								<Ellipse x:Name="ellipse05" Fill="White" Height="4" Width="4" Canvas.Top="1.4"  Opacity="0" Canvas.Left="15"/>
    								<Ellipse x:Name="ellipse06" Fill="White" Height="4" Width="4" Canvas.Top="5"  Opacity="0" Canvas.Left="18.6603"/>
    								<Ellipse x:Name="ellipse07" Fill="White" Height="4" Width="4" Canvas.Top="10" Canvas.Left="20" Opacity="0" />
    								<Ellipse x:Name="ellipse08" Fill="White" Height="4" Width="4" Canvas.Top="15" Canvas.Left="18.7" Opacity="0" />
    								<Ellipse x:Name="ellipse09" Fill="White" Height="4" Width="4" Canvas.Top="18.66025" Canvas.Left="15" Opacity="0"/>
    								<Ellipse x:Name="ellipse10" Fill="White" Height="4" Width="4" Canvas.Top="20" Canvas.Left="10" Opacity="0"/>
    								<Ellipse x:Name="ellipse11" Fill="White" Height="4" Width="4" Canvas.Top="18.66025" Canvas.Left="5" Opacity="0"/>
    								<Ellipse x:Name="ellipse12" Fill="White" Height="4" Width="4" Canvas.Top="15" Canvas.Left="1.4" Opacity="0"/>
    							</Canvas>
    						</Border>
							
                        </Grid>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>    
</ResourceDictionary>
